package 面向对象.泛型;

import java.sql.Array;
import java.util.ArrayList;

public class Main {
    public static <T extends Object> T 泛型方法(T t){
        System.out.println("泛型方法获取成功喵~");
        return t;
    }
//
//    public static void 泛型方法2(ArrayList<? extends 上限 super 下限> list){
//        System.out.println("泛型方法获取成功喵~");
//    }
//    另外,要注意,泛型只是在编译阶段存在,编译完之后泛型消失了,使用泛型的地方都是使用的object类型
//    系统帮我们做了类型强转
//    这叫泛型擦除
    public static void main(String[] args) {
        泛型类<Integer> e = new 泛型类<>();
        e.add(1);
        e.get(1);
        new 泛型接口<Integer>(){
            @Override
            public void get(Integer e) {
                System.out.println("泛型接口获取成功喵~");
            }
            @Override
            public void add() {
                System.out.println("泛型接口添加成功喵~");

            }
        }.get(1);
//        System.out.println(泛型方法(Integer.valueOf(2)));
        System.out.println(泛型方法(2));
    }
}
